package com.funmi.lizip.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.funmi.lizip.common.model.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author zzy
 * @since 2022-11-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Device implements Serializable {

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @ExcelProperty(value = {"设备清单", "序号"}, index = 0)
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 设备编号
     */
    @ExcelProperty(value = {"设备清单", "设备编号"}, index = 1)
    private String deviceSn;

    /**
     * 站点
     */
    @ExcelProperty(value = {"设备清单", "设备站点"}, index = 2)
    private String site;

    /**
     * 类型   袍子仪 3  测报灯 4
     */
    @ExcelProperty(value = {"设备清单", "设备类型"}, index = 3)
    private String type;

    /**
     * 纬度
     */
    @ExcelProperty(value = {"设备清单", "设备纬度"}, index = 4)
    private String lat;

    /**
     * 经度
     */
    @ExcelProperty(value = {"设备清单", "设备经度"}, index = 5)
    private String lng;

    /**
     * 海拔
     */
    @ExcelIgnore
    private Double alt;

    /**
     * ip
     */
    @ExcelIgnore
    private String ip;

    /**
     * 端口
     */
    @ExcelIgnore
    private String point;

    /**
     * 账号
     */
    @ExcelIgnore
    private String account;

    /**
     * 密码
     */
    @ExcelIgnore
    private String password;

    /**
     * 厂商
     */
    @ExcelIgnore
    private String firm;

    /**
     * 备注
     */
    @ExcelIgnore
    private String remark;

    /**
     * 是否删除
     */
    @ExcelIgnore
    @TableField(value = "is_delete",select = false)
    @TableLogic
    private Boolean deleteFlag;

    /**
     * 创建时间
     */
    @ExcelProperty(value = {"设备清单", "创建时间"}, index = 6)
    @TableField(value = "create_at",select = false)
    private LocalDateTime createAt;

    /**
     * 是否在线
     */
    @ExcelProperty(value = {"设备清单", "是否在线"}, index = 7)
    @TableField(value = "is_online")
    private Boolean online;


}
